Computing systems exchange information via one or more connected data networks by transmitting and receiving data packets according to one or more communication protocols. The data packets are moved through the networks by various intermediary network devices, which each receive packets, identify a next-hop for the received packets, and transmit the packets to the respectively identified next-hop. In some instances, a network device receives more packet data than it can handle, resulting in congestion wherein data transmission through the network device is negatively impacted. For example, some packets may be lost or “dropped.” Network protocols may react to packet loss by resending lost packets and/or adjusting the rate of subsequent packet transmissions, resulting in inefficient use of the network.
If a network device experiences chronic congestion, it may be appropriate to take administrative steps to address the problem. For example, a network administrator might upgrade the network device or modify a network configuration to reduce the load on the device. However, in order to make a decision about how to address network congestion, a network administrator must first identify where congestion is occurring within a network.